{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Rent Listing Inquries"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "独立调用xgboost或在sklearn框架下调用均可。\n",
    "1. 模型训练：超参数调优\n",
    "a) 初步确定弱学习器数目： 20分\n",
    "b) 对树的最大深度（可选）和min_children_weight进行调优（可选）：20分\n",
    "c) 对正则参数进行调优：20分\n",
    "d) 重新调整弱学习器数目：10分\n",
    "e) 行列重采样参数调整：10分\n",
    "2. 调用模型进行测试10分\n",
    "3. 生成测试结果文件10分"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 采用独立调用xgboost"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# 导入必要的工具包\n",
    "import xgboost as xgb\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "import graphviz\n",
    "\n",
    "from matplotlib import pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "#设置数据路径，读取数据文件\n",
    "dpath = \"./data/\"\n",
    "dtrain = xgb.DMatrix(dpath+\"RentListingInquries_FE_train.bin\")\n",
    "dtest = xgb.DMatrix(dpath+\"RentListingInquries_FE_test.bin\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "xgboost.core.DMatrix"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#观察数据\n",
    "type(dtrain)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['f0',\n",
       " 'f1',\n",
       " 'f2',\n",
       " 'f3',\n",
       " 'f4',\n",
       " 'f5',\n",
       " 'f6',\n",
       " 'f7',\n",
       " 'f8',\n",
       " 'f9',\n",
       " 'f10',\n",
       " 'f11',\n",
       " 'f12',\n",
       " 'f13',\n",
       " 'f14',\n",
       " 'f15',\n",
       " 'f16',\n",
       " 'f17',\n",
       " 'f18',\n",
       " 'f19',\n",
       " 'f20',\n",
       " 'f21',\n",
       " 'f22',\n",
       " 'f23',\n",
       " 'f24',\n",
       " 'f25',\n",
       " 'f26',\n",
       " 'f27',\n",
       " 'f28',\n",
       " 'f29',\n",
       " 'f30',\n",
       " 'f31',\n",
       " 'f32',\n",
       " 'f33',\n",
       " 'f34',\n",
       " 'f35',\n",
       " 'f36',\n",
       " 'f37',\n",
       " 'f38',\n",
       " 'f39',\n",
       " 'f40',\n",
       " 'f41',\n",
       " 'f42',\n",
       " 'f43',\n",
       " 'f44',\n",
       " 'f45',\n",
       " 'f46',\n",
       " 'f47',\n",
       " 'f48',\n",
       " 'f49',\n",
       " 'f50',\n",
       " 'f51',\n",
       " 'f52',\n",
       " 'f53',\n",
       " 'f54',\n",
       " 'f55',\n",
       " 'f56',\n",
       " 'f57',\n",
       " 'f58',\n",
       " 'f59',\n",
       " 'f60',\n",
       " 'f61',\n",
       " 'f62',\n",
       " 'f63',\n",
       " 'f64',\n",
       " 'f65',\n",
       " 'f66',\n",
       " 'f67',\n",
       " 'f68',\n",
       " 'f69',\n",
       " 'f70',\n",
       " 'f71',\n",
       " 'f72',\n",
       " 'f73',\n",
       " 'f74',\n",
       " 'f75',\n",
       " 'f76',\n",
       " 'f77',\n",
       " 'f78',\n",
       " 'f79',\n",
       " 'f80',\n",
       " 'f81',\n",
       " 'f82',\n",
       " 'f83',\n",
       " 'f84',\n",
       " 'f85',\n",
       " 'f86',\n",
       " 'f87',\n",
       " 'f88',\n",
       " 'f89',\n",
       " 'f90',\n",
       " 'f91',\n",
       " 'f92',\n",
       " 'f93',\n",
       " 'f94',\n",
       " 'f95',\n",
       " 'f96',\n",
       " 'f97',\n",
       " 'f98',\n",
       " 'f99',\n",
       " 'f100',\n",
       " 'f101',\n",
       " 'f102',\n",
       " 'f103',\n",
       " 'f104',\n",
       " 'f105',\n",
       " 'f106',\n",
       " 'f107',\n",
       " 'f108',\n",
       " 'f109',\n",
       " 'f110',\n",
       " 'f111',\n",
       " 'f112',\n",
       " 'f113',\n",
       " 'f114',\n",
       " 'f115',\n",
       " 'f116',\n",
       " 'f117',\n",
       " 'f118',\n",
       " 'f119',\n",
       " 'f120',\n",
       " 'f121',\n",
       " 'f122',\n",
       " 'f123',\n",
       " 'f124',\n",
       " 'f125',\n",
       " 'f126',\n",
       " 'f127',\n",
       " 'f128',\n",
       " 'f129',\n",
       " 'f130',\n",
       " 'f131',\n",
       " 'f132',\n",
       " 'f133',\n",
       " 'f134',\n",
       " 'f135',\n",
       " 'f136',\n",
       " 'f137',\n",
       " 'f138',\n",
       " 'f139',\n",
       " 'f140',\n",
       " 'f141',\n",
       " 'f142',\n",
       " 'f143',\n",
       " 'f144',\n",
       " 'f145',\n",
       " 'f146',\n",
       " 'f147',\n",
       " 'f148',\n",
       " 'f149',\n",
       " 'f150',\n",
       " 'f151',\n",
       " 'f152',\n",
       " 'f153',\n",
       " 'f154',\n",
       " 'f155',\n",
       " 'f156',\n",
       " 'f157',\n",
       " 'f158',\n",
       " 'f159',\n",
       " 'f160',\n",
       " 'f161',\n",
       " 'f162',\n",
       " 'f163',\n",
       " 'f164',\n",
       " 'f165',\n",
       " 'f166',\n",
       " 'f167',\n",
       " 'f168',\n",
       " 'f169',\n",
       " 'f170',\n",
       " 'f171',\n",
       " 'f172',\n",
       " 'f173',\n",
       " 'f174',\n",
       " 'f175',\n",
       " 'f176',\n",
       " 'f177',\n",
       " 'f178',\n",
       " 'f179',\n",
       " 'f180',\n",
       " 'f181',\n",
       " 'f182',\n",
       " 'f183',\n",
       " 'f184',\n",
       " 'f185',\n",
       " 'f186',\n",
       " 'f187',\n",
       " 'f188',\n",
       " 'f189',\n",
       " 'f190',\n",
       " 'f191',\n",
       " 'f192',\n",
       " 'f193',\n",
       " 'f194',\n",
       " 'f195',\n",
       " 'f196',\n",
       " 'f197',\n",
       " 'f198',\n",
       " 'f199',\n",
       " 'f200',\n",
       " 'f201',\n",
       " 'f202',\n",
       " 'f203',\n",
       " 'f204',\n",
       " 'f205',\n",
       " 'f206',\n",
       " 'f207',\n",
       " 'f208',\n",
       " 'f209',\n",
       " 'f210',\n",
       " 'f211',\n",
       " 'f212',\n",
       " 'f213',\n",
       " 'f214',\n",
       " 'f215',\n",
       " 'f216',\n",
       " 'f217',\n",
       " 'f218',\n",
       " 'f219',\n",
       " 'f220',\n",
       " 'f221',\n",
       " 'f222',\n",
       " 'f223',\n",
       " 'f224',\n",
       " 'f225',\n",
       " 'f226']"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dtrain.feature_names"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[0.0, 1.0, 2.0]\n"
     ]
    }
   ],
   "source": [
    "#确定分类的类别数，3种 0， 1， 2\n",
    "dtrain.get_label()\n",
    "print(list(set(dtrain.get_label())))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "227"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#测试集 227 个特征\n",
    "dtest.num_col()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "74659"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#测试集样本数\n",
    "dtest.num_row()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 设定初始的xgboost的参数"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# xgboost的parameter列表\n",
    "param = {\"silent\":0,\n",
    "#          \"learning_rate\":0.1, #由于是直接调用xgboost，用eta\n",
    "#          \"nthread\":8,         #使用默认，用所有的CPU\n",
    "         \"eta\":0.1,             #tunable param\n",
    "         \"max_depth\":6,         #tunable param\n",
    "         \"min_child_weight\":1,  #tunable param\n",
    "         \"gamma\":0,\n",
    "         \"subsample\":0.3,       #tunable param      \n",
    "         \"alpha\":0,             #tunable param\n",
    "         \"lambda\":1,            #tunable param\n",
    "         \"colsample_bytree\":0.8,#tunable param\n",
    "         \"colsample_bylevel\":0.7,\n",
    "         \"objective\":\"multi:softmax\",\n",
    "         'num_class': 3,\n",
    "         \"seed\":3\n",
    "        }"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "#小试牛刀，看看参数表是否有问题\n",
    "num_round = 2\n",
    "bst = xgb.train(param, dtrain, num_round)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train Accuary: 72.12%\n"
     ]
    }
   ],
   "source": [
    "#简单看看的结果\n",
    "from sklearn.metrics import accuracy_score\n",
    "train_preds = bst.predict(dtrain)\n",
    "train_predictions = [value for value in train_preds]\n",
    "y_train = dtrain.get_label()\n",
    "train_accuracy = accuracy_score(y_train, train_predictions)\n",
    "print (\"Train Accuary: %.2f%%\" % (train_accuracy * 100.0))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 定义函数"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "#简化模型拟合的函数，固定部分参数\n",
    "def modelfit(xgb_param, xgtrain, cv_folds=None, early_stopping_rounds=10,num_estimators=100):\n",
    "    #直接调用可以直接使用dMatrix格式的训练集， 使用mlogloss进行评估   \n",
    "    #num_boost_round = num_estimators\n",
    "    #early_stopping_rounds=early_stopping_rounds\n",
    "    cvresult = xgb.cv(xgb_param, xgtrain, num_boost_round=num_estimators, folds =cv_folds,\n",
    "             metrics='mlogloss', early_stopping_rounds=early_stopping_rounds)\n",
    "\n",
    "    \n",
    "    #最佳参数n_estimators  是cvresult.shape[0]\n",
    "    #直接返回所有结果\n",
    "    return cvresult"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "#显示n_estimators与log loss的关系图\n",
    "def n_estimators_figure(cvresult):\n",
    "        \n",
    "    # plot\n",
    "    test_means = cvresult['test-mlogloss-mean']\n",
    "    test_stds = cvresult['test-mlogloss-std'] \n",
    "        \n",
    "    train_means = cvresult['train-mlogloss-mean']\n",
    "    train_stds = cvresult['train-mlogloss-std'] \n",
    "\n",
    "    x_axis = range(0, cvresult.shape[0])\n",
    "        \n",
    "    plt.errorbar(x_axis, test_means, yerr=test_stds ,label='Test')\n",
    "    plt.errorbar(x_axis, train_means, yerr=train_stds ,label='Train')\n",
    "    plt.title(\"XGBoost n_estimators vs Log Loss\")\n",
    "    plt.xlabel( 'n_estimators' )\n",
    "    plt.ylabel( 'Log Loss' )\n",
    "\n",
    "    plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "#参数对调参\n",
    "#  max_depth  VS  min_child_weight\n",
    "#  alpha      VS  lambda\n",
    "#  subsamples VS  colsample_bytree\n",
    "\n",
    "def param_pair_tune(param1_name, param2_name, param1_range, param2_range,num_estimators):\n",
    "    #初始值设定\n",
    "    last_best_result = 1 \n",
    "    param1_best = param1_range[0]\n",
    "    param2_best = param2_range[0]\n",
    "    columns = [param1_name, param2_name, \"mlogloss_test\", \"mlogloss_train\"]\n",
    "    df_temp = pd.DataFrame(columns=columns)\n",
    "    for each_param1 in param1_range:       #参数1循环\n",
    "        for each_param2 in param2_range:   #参数2循环\n",
    "            param[param1_name]=each_param1\n",
    "            param[param2_name]=each_param2\n",
    "            #num_boost_round=num_estimators   \n",
    "            cvresult = xgb.cv(param, dtrain, num_boost_round=num_estimators, folds =kfold,\n",
    "             metrics='mlogloss')  \n",
    "            #最佳参数获取\n",
    "            if last_best_result ==1:\n",
    "                last_best_result = cvresult.iloc[cvresult.shape[0]-1, 0]\n",
    "            elif cvresult.iloc[cvresult.shape[0]-1, 0] <= last_best_result:\n",
    "                last_best_result = cvresult.iloc[cvresult.shape[0]-1, 0]\n",
    "                param1_best = each_param1\n",
    "                param2_best = each_param2\n",
    "            else:\n",
    "                last_best_result = last_best_result\n",
    "            #收集结果\n",
    "            df_each_cycle = pd.DataFrame([[each_param1, each_param2, cvresult.iloc[cvresult.shape[0]-1, 0], cvresult.iloc[cvresult.shape[0]-1, 2]]], columns=columns)\n",
    "#             print(df_each_cycle)\n",
    "            df_temp = df_temp.append(df_each_cycle)\n",
    "#             print(df_temp)\n",
    "        \n",
    "            print(\"%s: %f, %s: %f, mlogloss_test: %f, mlogloss_train: %f\" % (param1_name, each_param1, param2_name,each_param2, \n",
    "                      cvresult.iloc[cvresult.shape[0]-1, 0], cvresult.iloc[cvresult.shape[0]-1, 2]))\n",
    "    \n",
    "    print(\"best %s: %f, best %s: %f, lowest_logloss: %f\"%(param1_name,param1_best,param2_name,param2_best,last_best_result))\n",
    "    #返回对应不同参数的结果\n",
    "    return df_temp"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "#得到参数对与结果评估mlogloss的关系图\n",
    "def performance_plot(df_pair, param1_name, param1_range, param2_name):\n",
    "    for each_param1 in param1_range:\n",
    "        x = df_pair[df_pair[param1_name]==each_param1][param2_name].values\n",
    "        y = df_pair[df_pair[param1_name]==each_param1][\"mlogloss_test\"].values\n",
    "        plt.plot(x, y, label = param1_name + \"-\" + str(each_param1))\n",
    "        plt.legend()\n",
    "    plt.xlabel(param2_name)\n",
    "    plt.show()    "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 初步确定弱学习器数目： 20分"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# 准备交叉校验的参数\n",
    "from sklearn.model_selection import StratifiedKFold\n",
    "kfold = StratifiedKFold(n_splits=5, shuffle=True, random_state=3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "best num_estimators: 198, mlogloss_test: 0.591148, mlogloss_train: 0.459804\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0xe467240>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#显示最佳参数n_estimators\n",
    "cvresult1 = modelfit(param, dtrain, cv_folds = kfold, early_stopping_rounds=50,num_estimators=1000)\n",
    "#全局变量，num_estimators更新为最佳值\n",
    "num_estimators = cvresult1.shape[0]\n",
    "print(\"best num_estimators: %d, mlogloss_test: %f, mlogloss_train: %f\" % (num_estimators,cvresult1.iloc[cvresult1.shape[0]-1, 0], cvresult1.iloc[cvresult1.shape[0]-1, 2]))\n",
    "n_estimators_figure(cvresult1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "初步确定弱学习器数目为 198"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 对树的最大深度（可选）和min_children_weight进行调优（可选）：20分"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "max_depth: 3.000000, min_child_weight: 1.000000, mlogloss_test: 0.603421, mlogloss_train: 0.578209\n",
      "max_depth: 3.000000, min_child_weight: 3.000000, mlogloss_test: 0.603586, mlogloss_train: 0.579063\n",
      "max_depth: 3.000000, min_child_weight: 5.000000, mlogloss_test: 0.603768, mlogloss_train: 0.579679\n",
      "max_depth: 5.000000, min_child_weight: 1.000000, mlogloss_test: 0.591029, mlogloss_train: 0.508560\n",
      "max_depth: 5.000000, min_child_weight: 3.000000, mlogloss_test: 0.590846, mlogloss_train: 0.514132\n",
      "max_depth: 5.000000, min_child_weight: 5.000000, mlogloss_test: 0.590986, mlogloss_train: 0.518160\n",
      "max_depth: 7.000000, min_child_weight: 1.000000, mlogloss_test: 0.593899, mlogloss_train: 0.402308\n",
      "max_depth: 7.000000, min_child_weight: 3.000000, mlogloss_test: 0.593429, mlogloss_train: 0.423827\n",
      "max_depth: 7.000000, min_child_weight: 5.000000, mlogloss_test: 0.592244, mlogloss_train: 0.438025\n",
      "max_depth: 9.000000, min_child_weight: 1.000000, mlogloss_test: 0.604667, mlogloss_train: 0.280374\n",
      "max_depth: 9.000000, min_child_weight: 3.000000, mlogloss_test: 0.601005, mlogloss_train: 0.327270\n",
      "max_depth: 9.000000, min_child_weight: 5.000000, mlogloss_test: 0.597186, mlogloss_train: 0.355551\n",
      "best max_depth: 5.000000, best min_child_weight: 3.000000, lowest_logloss: 0.590846\n"
     ]
    }
   ],
   "source": [
    "#粗调 max_depth 和 min_child_weight\n",
    "#max_depth 3-10， min_child_weight  1-7\n",
    "#num_estimator已在上面更新\n",
    "max_depth = range(3,10,2)\n",
    "min_child_weight = range(1,7,2)\n",
    "df_pair1 = param_pair_tune(param1_name = \"max_depth\", param2_name = \"min_child_weight\", param1_range = max_depth, param2_range = min_child_weight,num_estimators = num_estimators)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0xc34d748>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "performance_plot(df_pair1, param1_name = \"min_child_weight\", param1_range = min_child_weight, param2_name = \"max_depth\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "max_depth: 4.000000, min_child_weight: 2.000000, mlogloss_test: 0.595032, mlogloss_train: 0.548484\n",
      "max_depth: 4.000000, min_child_weight: 3.000000, mlogloss_test: 0.595456, mlogloss_train: 0.549427\n",
      "max_depth: 4.000000, min_child_weight: 4.000000, mlogloss_test: 0.594938, mlogloss_train: 0.550076\n",
      "max_depth: 4.000000, min_child_weight: 5.000000, mlogloss_test: 0.595390, mlogloss_train: 0.551152\n",
      "max_depth: 5.000000, min_child_weight: 2.000000, mlogloss_test: 0.590395, mlogloss_train: 0.511311\n",
      "max_depth: 5.000000, min_child_weight: 3.000000, mlogloss_test: 0.590846, mlogloss_train: 0.514132\n",
      "max_depth: 5.000000, min_child_weight: 4.000000, mlogloss_test: 0.590782, mlogloss_train: 0.516873\n",
      "max_depth: 5.000000, min_child_weight: 5.000000, mlogloss_test: 0.590986, mlogloss_train: 0.518160\n",
      "max_depth: 6.000000, min_child_weight: 2.000000, mlogloss_test: 0.591098, mlogloss_train: 0.466685\n",
      "max_depth: 6.000000, min_child_weight: 3.000000, mlogloss_test: 0.591983, mlogloss_train: 0.471839\n",
      "max_depth: 6.000000, min_child_weight: 4.000000, mlogloss_test: 0.590933, mlogloss_train: 0.476462\n",
      "max_depth: 6.000000, min_child_weight: 5.000000, mlogloss_test: 0.590494, mlogloss_train: 0.480664\n",
      "best max_depth: 5.000000, best min_child_weight: 2.000000, lowest_logloss: 0.590395\n"
     ]
    }
   ],
   "source": [
    "#粗调训练最佳结果\n",
    "#best max_depth: 5.000000, best min_child_weight: 3.000000, lowest_logloss: 0.590846\n",
    "#微调 max_depth 4，5，6\n",
    "#     best_min_weight  2，3，4，5\n",
    "max_depth = [4,5,6]\n",
    "min_child_weight = [2,3,4,5]\n",
    "df_pair2=param_pair_tune(param1_name = \"max_depth\", param2_name = \"min_child_weight\", param1_range = max_depth, param2_range = min_child_weight,num_estimators = num_estimators)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nEkIhPQAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x105694e0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "performance_plot(df_pair2, param1_name = \"min_child_weight\", param1_range = min_child_weight, param2_name = \"max_depth\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 调优结果\n",
    "#### best max_depth: 5.000000, best min_child_weight: 2.000000, lowest_logloss: 0.590395"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 重新调整弱学习器数目：10分"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "best num_estimators: 302, mlogloss_test: 0.588939, mlogloss_train: 0.476748\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYUAAAEXCAYAAABCjVgAAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4wLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvpW3flQAAIABJREFUeJzt3Xl8XXWd//HX52bfmnRJS/eNshQs\nWymgIsgi27CIiKAwgAvqDMPoDCrO+FMGhxEZdVxgdFARFQURXBhERXYZWVp2Cra0pUu6b0nabE1y\nP78/vifJbchyk+bm3OS+n4/Hedyz3XM+557kfu73+z3ne8zdERERAUjEHYCIiGQPJQUREemkpCAi\nIp2UFEREpJOSgoiIdFJSEBGRTkoKIinM7F/M7AdxxyESFyWFEcbMys1stZl9MGVehZmtNbMLUuYt\nNLP7zWynmdWa2WtmdoOZjY2WX25m7Wa2OxpWmdknMxz7iWZWk8l9DERP8bj7f7j7RzO0v9Vmdkom\ntp0Jw3W+RtrnMtopKYww7r4buBL4lplVR7NvApa4+z0AZvZ24DHg/4CD3L0KOB1oAw5L2dxT7l7u\n7uXABcBNZnbE8ByJDISZ5ccdg+QId9cwAgfgduBO4ERgOzA5ZdmTwHf6ef/lwJPd5j0LfDBl+hxg\nKVBLSDIHpyw7OJpXG61zTsqyM4HXgF3AeuAaoAxoApLA7miY0stx3QL8Lnr/M8DcND6Pg4A/ATuA\nZcCFg4kHuA64I3rfLMCBK4B1wE7gE8DRwMvRsd+csp+5wCPR+dgG/Ayoipb9NNpXU7Svz6bxGa8G\nPhftqwXIj6bXR8eyDDi5h8/iWGATkJcy773Ay9H4ImAJUA9sBr7Ry2d6IlDTy7JK4CfAVmAN8AUg\nES3LA74efQZvAldFn2N+L9taDZzSy7KPASui83pfx98MYMB/AVuAuugzOrS38x33/+tIGmIPQMMg\nTxyMBTZG/3hXpMwvA9qBE/t5/+WkJIXoi64WOCCaPgBoAE4FCoDPRv+chdH0CuBfoumTon/AA6P3\nbgSOT4nzyGi81y+ZlDhuj74AFkVfgj8D7urnPWWEL+0rovccGX0uhww0HnpOCt8DioH3AM3Ab4CJ\nwNToS+mEaP39o8+rCKgGngC+mbLtvb78+vqMU9Z/EZgOlAAHRsc5JSW+HhMmsBI4NWX6l8C10fhT\nwKXReDlwbC/b6PV8ERLCb4GKKI7lwEeiZZ8gfClPiz7vhxhEUoj+rrZF57MI+A7wRLTsNOA5oIqQ\nIA4m+mHU2/nWkN6g6qMRyt13En5hlgK/Slk0llAtuKljhpndFLUrNJjZF1LWPTaav5tQSvgp8Ea0\n7APA79z9T+7eCnyN8MX0dsIv0XLgRnff4+6PAPcDF0fvbQXmm9kYd9/p7s8P8PB+5e7PunsbISkc\n3s/6fwOsdvcfuXtbtL97CVViQxHPl9292d0fJHyJ3+nuW9x9PfBn4AgAd18RfV4t7r4V+AZwQh/b\n7esz7vBtd1/n7k2EZF8UHUuBu69295W9bPtOovNhZhWEX893pnwe+5vZBHff7e5PD+TDMLO8KPbP\nu/sud19NKBlcGq1yIfAtd6+J/k5vHMj2U3wIuM3dn3f3FuDzwHFmNis6hgpCCdHc/XV335hyfPty\nvnOaksIIZWaXEH6hPQR8NWXRTkI1xeSOGe7+WQ/tCr8m/JLu8LS7V3loU9gPOAT4j2jZFEK1QMc2\nkoRfqVOjZeuieR3WRMsA3kf4ElpjZo+b2XEDPLxNKeONhATUl5nAMVGCqzWzWsIXyn5DFM/mlPGm\nHqbLAcxsopndZWbrzaweuAOY0Md2+/qMO6xLWb4C+BShNLMl2teUXrb9c+B8MysCzgeed/eOfX2E\nUEr5q5ktNrO/6SPGnkwglBDXpMxLPf9TUuPuNj4Q3T+f3YSquanRD5GbCVWNm83sVjMbE626r+c7\npykpjEBmNpFQn/ox4OPAhWb2LgB3byDUw58/kG26+2bCr+uzo1kbCF+2Hfs0QjXG+mjZdDNL/fuZ\nES3D3Re7+7mEKpbfAHd37GYgMQ3AOuDxKMF1DOXu/slhjucr0TYXuPsY4BJC1UaH7vvr6zPu8T3u\n/nN3f2f0PmfvHwSp671G+EI9A/ggIUl0LHvD3S8mfB5fBe4xs7L0D5NthF/jM1PmdZ5/QvXNtJRl\n0wew7VTdP58yYDxdf2ffdvejCD9mDgA+E83v7XxLGpQURqabgd+4+6NRkfmzwPejX4VE0x82s2uj\nBIKZTQNm97ZBMxtPaIxcGs26GzjLzE42swLgnwmNnX8hJJ0G4LNmVmBmJxKSyV1mVmhmHzKzyqhK\npJ5Q7QHhF/Z4M6scos+hw/3AAWZ2aRRPgZkdbWYHD3M8FYRG5Fozm0r0JZViMzAnZbqvz/gtzOxA\nMzspOs/NhFJKe0/rRn4OXA28i9Cm0LGdS8ysOiqZ1Eaze92OmRWnDoSS6N3ADdHl0DOBfyKUjDqO\n6x/NbKqZVREax/tT0G0/+VH8V5jZ4dEx/wfwjLuvjs7vMdHn1hB9Hu39nG9JR9yNGhoGNgDnEX5B\nVXWb/zBwQ8r0McADhH/6WuBV4AZgfLT8csI/S8eVN1sIdc4TU7bxXkKDYR3wOFHDbbTskGheXbTO\ne6P5hcAfCNVY9cBi4J0p77uNUAVQS+9XH/17yvSJ9NM4Ha13IOGKpa3R9h8htEUMKB56bmjOT1m/\nhpRGfMIX4RdSPpPnos/zRcKXfE3KuucCa6N9XZPGZ7yavRumFxDafnYRGuPv7+kzTFl/BuEL/Hfd\n5t8Rne/dhB8B5/Xy/hOj4+8+7E9ou7oj+rzXAV+k6+qjfEJJdjvh6qNPE0oW1st+Vvewj3+Pln2C\n0GjecbzTovknE6442k3XlV7l/Z1vDf0PFn3AIiIZYWZnAN9z95n9riyxU/WRiAwpMysxszPNLD+q\nRvsS4SIHGQFUUpARwcyOB37f0zIPV09JljCzUkJV2EGEdo/fAf/o7vWxBiZpUVIQEZFOqj4SEZFO\nI66TrQkTJvisWbPiDkNEZER57rnntrl7dX/rjbikMGvWLJYsWRJ3GCIiI4qZrel/LVUfiYhICiUF\nERHppKQgIiKdlBRERKSTkoKIiHRSUhARkU5KCiIi0ilnksLqrbv40/Nv4Mlk/yuLiOSonEkKf/yf\nazn1voU0NDXGHYqISNbKmaRw5AEzAGio2xFzJCIi2StnkkJeSXjiYtOunTFHIiKSvXImKeSXKSmI\niPQnZ5JCUZQU9jQoKYiI9CZnkkJx+TgA9jTUxRyJiEj2ypmkUFJRBUB7k5KCiEhvciYplI4ZD0BS\nSUFEpFc5kxTKykObgjfr2eEiIr3JmaRg+YU0UoS17Io7FBGRrJUzSQGgkVISe5QURER6k7GkYGa3\nmdkWM3u1l+VmZt82sxVm9rKZHZmpWDo0JsrIb1NSEBHpTSZLCrcDp/ex/AxgXjRcCXw3g7EA0JJX\nRmHb7kzvRkRkxMpYUnD3J4C+Oho6F/iJB08DVWY2OVPxALTklVPY1pDJXYiIjGhxtilMBdalTNdE\n897CzK40syVmtmTr1q2D3mFrQTklSSUFEZHexJkUrId53tOK7n6ruy9094XV1dWD3mF7QQWlrqQg\nItKbOJNCDTA9ZXoasCGTO/TCCsq8Efcec4+ISM6LMyncB/xtdBXSsUCdu2/M5A69eAyl1kJzy55M\n7kZEZMTKz9SGzexO4ERggpnVAF8CCgDc/XvAA8CZwAqgEbgiU7F0xlQc7mreVbedkuIpmd6diMiI\nk7Gk4O4X97Pcgb/P1P57kl82FoDdtduYOElJQUSku5y6o7kw6j67qX57zJGIiGSnnEoKxRWhp9Tm\n+m0xRyIikp1yKimUVE4AoHV3X/fUiYjkrpxKCuVVISm0N+qRnCIiPcmtpBCVFJJNtTFHIiKSnXIq\nKSQKS2iikESzkoKISE9yKikA7LZyEi16JKeISE9yLik0Jioo2KOkICLSk5xLCs15FRTpQTsiIj3K\nuaTQUjCG0vb6uMMQEclKOZcU2gorKU2qpCAi0pOcSwrJ4koqvEHdZ4uI9CDnksKL24xya2ZXY1Pc\noYiIZJ2cSwpHHTgHgLodW2KOREQk++RcUigYE+5q3r1jc8yRiIhkn5xLCsWVEwFoqlNJQUSku5xL\nCmWVkwBortsacyQiItkn55LCmAn7AdC+W0lBRKS7nEsKpZXVACQb9KAdEZHuci4pWEExDZSQaNKD\ndkREusu5pABQnxhDQbMetCMi0l1OJoWGvCqKWvVMBRGR7nIyKbQUjqW0TSUFEZHucjIptBZVUZFU\nT6kiIt3lZFJIFo+nynfR2p6MOxQRkaySk0nBysZTai3sqFW7gohIqowmBTM73cyWmdkKM7u2h+Uz\nzexhM3vZzB4zs2mZjKdD/pjQ1UXt1o3DsTsRkREjY0nBzPKAW4AzgPnAxWY2v9tqXwN+4u4LgOuB\nr2QqnlQlYycDsHv7+uHYnYjIiJHJksIiYIW7r3L3PcBdwLnd1pkPPByNP9rD8owoHz8FgKadm4Zj\ndyIiI0Ymk8JUYF3KdE00L9VLwPui8fcCFWY2vvuGzOxKM1tiZku2bt33PouqqkMYrXVKCiIiqTKZ\nFKyHed2fgXkNcIKZvQCcAKwH2t7yJvdb3X2huy+srq7e58CKq0KneOzWMxVERFLlZ3DbNcD0lOlp\nwIbUFdx9A3A+gJmVA+9z97oMxhTkF1FPOYlG9ZQqIpIqkyWFxcA8M5ttZoXARcB9qSuY2QQz64jh\n88BtGYxnL/V54yhuUU+pIiKpMpYU3L0NuAr4I/A6cLe7LzWz683snGi1E4FlZrYcmATckKl4umss\nHEfpHvWUKiKSKpPVR7j7A8AD3eZ9MWX8HuCeTMbQm5biCVQ2vRLHrkVEslZO3tEMkCytZpzX0dza\nHncoIiJZI2eTgpVPotya2bpdvaWKiHTI2aRQGN3VvGPz2pgjERHJHjmbFMonhKtld21b18+aIiK5\nI2eTQuWkmQDs2V4TcyQiItkjZ5NC+YTQ1UV7vXpKFRHpkLNJwYqraKKIxG4lBRGRDjmbFDCjNm8C\nxU1b4o5ERCRr5G5SABoKJ1Deqv6PREQ65HRSaCmdxNj27bh377xVRCQ35XRSeLmulEnsZPvulrhD\nERHJCjmdFI445GCKrJVNm9TYLCICOZ4UyifOBmDHxpUxRyIikh1yOimMmzYPgMbNb8YciYhIdsjp\npFAalRTad66JORIRkeyQ00mB4ioarJT8evV/JCICuZ4UzNhZsB/lTevjjkREJCvkdlIAGkunMr5t\nM8mk7lUQEcn5pJCsnM5UtrK5vinuUEREYpfzSSF//CwqrIkNmzbFHYqISOxyPimUT5oLQO36FTFH\nIiISv5xPCuOm7g9A49ZVMUciIhK/nE8KheNnAZDcqWc1i4jkfFKgpIoGK6Nwl+5VEBHpNymY2Vwz\nK4rGTzSzq82sKvOhDZ/awslUNG+IOwwRkdilU1K4F2g3s/2BHwKzgZ9nNKph1lQ2lQltm9nTlow7\nFBGRWKWTFJLu3ga8F/imu38amJzOxs3sdDNbZmYrzOzaHpbPMLNHzewFM3vZzM4cWPhD46VdY5hm\nW1m3oyGO3YuIZI10kkKrmV0MXAbcH80r6O9NZpYH3AKcAcwHLjaz+d1W+wJwt7sfAVwE/He6gQ+l\nY488gnJrZk2N2hVEJLelkxSuAI4DbnD3N81sNnBHGu9bBKxw91Xuvge4Czi32zoOjInGK4FYKvbH\nTz8IgB1rX49j9yIiWSO/vxXc/TXgagAzGwtUuPuNaWx7KpD607sGOKbbOtcBD5rZPwBlwCk9bcjM\nrgSuBJgxY0Yaux6Y4skhKbRsWjbk2xYRGUnSufroMTMbY2bjgJeAH5nZN9LYtvUwr3uvcxcDt7v7\nNOBM4Kdm9paY3P1Wd1/o7gurq6vT2PUAVc2kjXzyanUDm4jktnSqjyrdvR44H/iRux9FL7/ou6kB\npqdMT+Ot1UMfAe4GcPengGJgQhrbHlp5+dQWT2Vs4xra1VuqiOSwdJJCvplNBi6kq6E5HYuBeWY2\n28wKCQ3J93VbZy1wMoCZHUxIClsHsI8h89fW/ZjFBtbuaIxj9yIiWSGdpHA98EdgpbsvNrM5wBv9\nvSm6jPWq6L2vE64yWmpm15vZOdFq/wx8zMxeAu4ELnf3WH6qz5t/BLNsM8s31caxexGRrJBOQ/Mv\ngV+mTK8C3pfOxt39AeCBbvO+mDL+GvCOdIPNpMqaxyiyVrauXQ6HTo07HBGRWKTT0DzNzH5tZlvM\nbLOZ3Wtm04YjuOFUfEG4RaJl/SsxRyIiEp90qo9+RGgLmEK4zPR/o3mjS/XBJDGKtuteBRHJXekk\nhWp3/5G7t0XD7UAGrguNWWEpO4unM7HxDV2BJCI5K52ksM3MLjGzvGi4BNie6cDi8ErbdA5gLWu2\nqw8kEclN6SSFDxMuR90EbAQuIHR9MeocfPhxzEps5vW1G+MORUQkFv0mBXdf6+7nuHu1u0909/MI\nN7KNOuNW/x6AbStfjDkSEZF4DPbJa/80pFFkiYIP3QlA64aXY45ERCQeg00KPfVrNPJVzaA5UUZ5\n7V+J6R46EZFYDTYpjM5vTDOWM4M5yTXq7kJEclKvScHMdplZfQ/DLsI9C6PStIOO5iBbywtrdsYd\niojIsOs1Kbh7hbuP6WGocPd+u8cYqapmH8EYa2LVitfiDkVEZNgNtvpo1EpMORyAljVLYo5ERGT4\nKSl0N+lQ2qyQ6vpXaNzTFnc0IiLDSkmhu/xClifmsMBWsmS12hVEJLcoKfRg3pEn8jZ7k6fe2BR3\nKCIiwyqdrrN7ugppXdSd9pzhCHK4Fbz5KCW2h43LF8cdiojIsEqnpPAN4DOEbrOnAdcA3wfuAm7L\nXGgxuiw8NXTS9mfZ0bAn5mBERIZPOknhdHf/H3ff5e717n4rcKa7/wIYm+H44lGxH2sT0znWXuOp\nlaOyQ1gRkR6lkxSSZnahmSWi4cKUZaPzzmZg2pHv4ZjEX/mL2hVEJIekkxQ+BFwKbImGS4FLzKwE\nuCqDscUqsfr/KLUWdix/Ou5QRESGTTpdZ69y97PdfUI0nO3uK9y9yd2fHI4gY3HFAwDM2f28Hroj\nIjkjnauPpkVXGm0xs81mdq+ZTRuO4GJVNp49Ew7huMRS/vCqqpBEJDekU330I+A+Qid4U4H/jeaN\neoX7n8DReW/w4Mtr4w5FRGRYpJMUqt39R+7eFg23A9UZjis7rHyMIvZQsvEZ1qkrbRHJAekkhW1m\ndomZ5UXDJUBuXKd55SMk80t4T2IJD7yi5zaLyOiXTlL4MHAhsAnYCFwAXJHJoLJGQQmJeadwVsHz\n/P7l9XFHIyKScelcfbTW3c9x92p3n+ju5wHnp7NxMzvdzJaZ2Qozu7aH5f9lZi9Gw3Izqx3EMWTW\nlmWM9+2w4QXWblcVkoiMboPtEO+f+lvBzPKAW4AzgPnAxWY2P3Udd/+0ux/u7ocD3wF+Nch4Muej\nD+KJfE7PW8zPnl0TdzQiIhk12KRgaayzCFgR3eewh9BX0rl9rH8xcOcg48mckrHYrOM5r+QFfvHs\nWppb2+OOSEQkYwabFNLp3mIqsC5luiaa9xZmNhOYDTzSy/IrzWyJmS3ZunXrQGPdd7Vr2a+1hknN\nq/jti2pbEJHRq9ek0EuX2fVmtotwz0J/eipN9JZMLgLucfcef4a7+63uvtDdF1ZXx3A17EcexBMF\nXFnxFLf/ZQ3uo7bLJxHJcb0mBXevcPcxPQwV7p6fxrZrgOkp09OADb2sexHZWHXUoWwCdtBZnLLn\nEVZu3K6eU0Vk1Mrkk9cWA/PMbLaZFRK++O/rvpKZHUjogvupDMay77a9QSW7uKDsJb750BsqLYjI\nqJSxpODubYReVP8IvA7c7e5Lzex6MzsnZdWLgbs8279lP/EkVM7gfH+YZ1fv4C8qLYjIKJRONdCg\nufsDwAPd5n2x2/R1mYxhyCQScOSlLHz0Bo6qqOW//rSct88dj1k6F2KJiIwMmaw+Gn2OuBQSBdww\n+c8sWbOT0775RNwRiYgMKSWFgRgzGRZ8gAM3/IaF1UkaWtppaGmLOyoRkSGjpDBQm1/D2pr41twl\nrK9t4uSvPx53RCIiQ0ZJYaA+/igccAZTl/2Ey46eyKb6Zs769p/jjkpEZEgoKQzGOz8FTTv4/Jor\nmVpVQm1jK3WNrXFHJSKyz5QUBmPGsXDQ31DctJnvnTeFDbVNnPi1R3XvgoiMeEoKg/WeL0NrI2/7\n37P5wt/MZ2djK++66dG4oxIR2SdKCoM1bg6842po2MKHX/lbznzbfqzb2cRp/6WGZxEZuZQU9sXx\n10DldKytkZvOncchU8awfMtuztD9CyIyQikp7IviMXDuzbB9BeX/cww/+fAiivITvL5plxKDiIxI\nSgr7as6JsOhK2LWB8T89icc/826KC0JiOOlrj8UcnIjIwCgpDIVT/g3GzYXmOiYVtvDMv5zC2+eO\nZ9W2Bt5+48Mkk7oqSURGBiWFoVBYCuffCnU18K3DqCxKcPsVi7hw4TQ21DZzxJcfZFNdc9xRioj0\nS0lhqExbCGd9DZp2wjcXUJif4KvvW8C/n3cou5rbOPYrD3PK1x+LO0oRkT4pKQyloz8KR10B9TXw\n7aMwMy45diYP/dMJlBXlsWJrA0dc/yDrdjTGHamISI+UFIbaGTfB3JNhxwq4eREAc6rLeemL7+Fz\npx9EXVMrx9/0KMd95WF2NuyJOVgRkb0pKQy1/EL4wB0w63jYtgxuOSbMzkvwyRPn8uTnTmJ8WSEb\n65o54st/4h03Pkxto5KDiGQHG2n99SxcuNCXLFkSdxj9a9kFPz0fahbDhAPhqmf2Wrxs0y4uuvUp\ndkYd6U0oL+SHlx3NYdOr4ohWREY5M3vO3Rf2u56SQgY11cLPL4R1z0DVTPjHl6Db4zv/uqmev/3h\ns2zZ1QJAwmDW+DJ+d/XxlBTmxRG1iIxCSgrZorUZfvv38Oo9UDYRPr00VDF1U9/cytnfeZJ1Oxrp\nuK0hP2HMrS7nd1e/k/w81fSJyOApKWQTd3jsRnj8Rigsh48/AePn9rKq8+ybO7jq5y+wdXdL5/z8\nhDFjXCl3f+I4JpQXDVfkIjJKKClko9fvh19eBp6Ec2+Bwy5+S3VSqubWds7+zpO8ub2B9nan40wl\nDCaNKebr7z+MI2eOpbhA1Uwi0jclhWxVtx5+dSWseRJKx8Mnn4KKSf2+LZl0lm6o55M/e46NtU20\np5y2hMHEiiL+9az5HDatiunjSrA+ko2I5B4lhWyWbIe/fAceug4SeXDOzXDYRX2WGrrb3dLG0yu3\n8/9++ypb6pv3ShIAeQkjYTBjXCnfveQo5kwoU7uESA5TUhgJtr0Bv70K1j0NxWPh44/B2FmD2lRr\ne5K/btzF1Xc+T01tE+1Jp3s/fAmDCeVF/PN7DuCASRXMGFfKuLJClSpEcoCSwkiRTMLi78Mfrg0N\n0m+/Kjy8p2Tf71doa0+ycmsDn7zjOdbtbCSZ9LeUKCAki4QZZjClsoQvnj2f6eNKmT62VJfFiowS\nWZEUzOx04FtAHvADd7+xh3UuBK4DHHjJ3T/Y1zZHXVLoULceHr0BXvwZJPLh5C/B0R+BwrIh3U0y\n6azZ0cjKLbv58v2vsaGuCXdI+ltLFgBGqNXqSBqTKoq56qT9mTimiIkVxUysKGJ8eRF5CZU2RLJZ\n7EnBzPKA5cCpQA2wGLjY3V9LWWcecDdwkrvvNLOJ7r6lr+2O2qTQYePL8NCXYOUjITm8+19h0ceg\nqCLju3Z3tjfsYe2ORj7zy5dYt7MJj5KF95I0OnQkD7PQlmHAlKoSPn/mwUysKGLimGKqy4sozFe7\nhkgcsiEpHAdc5+6nRdOfB3D3r6SscxOw3N1/kO52R31S6LDu2XBvw8qHwfLguL+DRR+HqumxhtXS\n1s7WXS1s2dXC5+55mbU7GnEPl8t2JA936O2vKjV5dI4TRlKn51SXc8sHj6SypICK4nw1kovso2xI\nChcAp7v7R6PpS4Fj3P2qlHV+QyhNvINQxXSdu/+hh21dCVwJMGPGjKPWrFmTkZiz0vrnwpVKS38d\npkvGwQW3hceAZnEDcVt7kh0Ne/jw7YtZuXV3SBh0JY1k9HfXVwLpLjVpWDTSMd6xbMa4Uv7jvW+j\nsqSAypICigryKMpPUJCXUBWX5LRsSArvB07rlhQWufs/pKxzP9AKXAhMA/4MHOrutb1tN2dKCt3V\nroUlt4UEkWyD/BI49d/CpazFlXFHt0/cnebWJPXNrXz0x4tZsbUB3JlcWUJ70tlY39yZTDrWDwkm\n/YSSylJGLHVelFw6k000b/KYYj5+wlyK8hMUFSQoyg+JJkx3jRfmR8sKoum8hK7skqyRDUkhneqj\n7wFPu/vt0fTDwLXuvri37eZsUujQ2hxKDQ9cA3t2gyXg8A/Bgg/AzHdAIveqWVrbk9Q3tVLX1Mo/\n3PkCq7bu7kwakJI43PdKInstT1k22GTTl9Rks/c823uepSxLWb7fmGI+evxsEgkjP2HkJRLkJSAv\nkSA/YSQszM/PM/ITiejVyM9L7D0/Gu8oORVE63YvRaV+LSQSkJ9IhLYiJbkRKxuSQj6hauhkYD2h\nofmD7r40ZZ3TCY3Pl5nZBOAF4HB3397bdnM+KaRa/zws/iG8dCd4O+QVwbGfhAUXwqRD4o5uxOso\nwTS3ttPSlqSlLbzu6RhvTe41v6U1yX8/toKNdc2diQbYK9l0bjua4XtNs9f6I4H1MJFO2khNeoPa\nV5p6+iyHJK3Z4LYzvix0hrl9AA/YSt3PvEkV/O7q4wex5yxIClEQZwLfJLQX3ObuN5jZ9cASd7/P\nws+OrwOnA+3ADe5+V1/bVFLowZ5GWPZAKD007QzzCkrhXdfAoRfA2JnxxieDkkw6e9qT7GlPkkw6\nbUmnPWVo22s82TmvrT1M7/3qtLaHdb7zyApw54p3zqa13fnxX94k6eHLZ3PUhfukitDpYsc0sFdW\n6+lbo6evkn6/XbqV3rJFnzH1sjCd4+gokPV1JV9fZo8v5dHPvHtQ782KpJAJSgr9aNgWqpcevh5a\n6sO8oopw38P886C8Ot74RCTEzH0uAAAPoElEQVQWSgoCO9fAq/fCE/8JrY1h3v6nwPxzYc67Y7+8\nVUSGj5KC7G3zUnjlHnjqFmiPqgQKSsK9DwedBVMX5mQjtUiuUFKQnrnDltdh1aPw+FehuS7MT+SH\nEsTck0IponJqvHGKyJBKNynkD0cwkkXMYNL8MBz396Fh+o2HYMVDoarp1XvDegWlcNTlIUHMPG5Y\nutkQkfippCBd3EM108pH4M9fh+aOewgNpi+CWe+EGcfBtKOHpBdXERk+KinIwJnBfoeG4R1XQ2sT\nrHsG3nwCnrk1jHeYeAjMOAamLQoJY9ycrO52Q0TSo5KCpG9PQ+iLae3TsPYpWPV4uGkOQp9M044O\nw/SjYcqRUDwm3nhFpJNKCjL0Cstg9rvCAOGxoluXQc1iqHkWXv0VvPHHrvUnHgLTFoaSxLRFMH5/\nXeEkkuVUUpCh1VQbShM1i8Ow6tGQPACKq7pKE5MPg8kLoGKyqp1EhoFKChKPkirY/+QwQHjc6PY3\nwvMhap4N90qs+FPX+qUTQnLYb0H0elhon1CJQiQWKinI8GvZFa5y2vgybHopdMuxp6FruSVCaaIz\nUSyAiQdDflF8MYuMcLp5TUaWtj2w9a+w6eUoWbwMm14J3YN3KCiDQ85LSRZv0/0TImlS9ZGMLPmF\n4Yt+8gI4IpqXTMLON2HjS13J4uW74cWfpbyvGA44vavqafICKJ8YyyGIjAZKCpK9EgkYPzcMh54f\n5rnDrk0pJYqXYPnv4bXfpLzRQgni0PNhwoFQHQ1jpqpRW6QfSgoyspjBmMlhOOC0rvlNtaG6adMr\noRpq23J44Y7w6NJUheVw8NlRstkfxkWvhaXDexwiWUpJQUaHkiqYfXwYOriH50tsWxYSxdblYfzV\ne6G925Ov8otg9glRqeKgqIRxwIh//rXIQCkpyOhlFh4qVF4d+m1K1bIbdqyC7Stg2xshaSz/A7zx\n4N7r5RXCzLdHieKA8Fp9EJSNH77jEBlGSgqSm4rKuxq2UyXbYefqcKd2RzXU1r/Cs7eCJ7vWKx0f\nJYgD92630M14MsIpKYikSuR1NW4fdGbX/GQS6teHZNFRHbX017Dm//Z+v+XB1CO7EsWEeeFmvKqZ\nUFA8vMciMgi6T0FkX7jD7i17lyq2LgudBiZb9143ryjqUXZ2SBRjo9dxs3W/hWSc7lMQGQ5mUDEp\nDHNO2HtZ4w7YvjLca7FjFex4E5b9DlY/CXT7MZYogClHRElizt6Jo3ScqqRk2CgpiGRK6bgwTD/6\nrcua60PbxY5VYdj5Jiz9behEsHvCgHAp7bxT31rCKN9P/UTJkFL1kUi2aW2G2jVdpYsdq0JHgi11\nezd2Q+gnasKBKaWLlBJG5XTI0+8+CVR9JDJSFRR3Xc3U4ayvhdf2Nqhb11W6eOLroRfabcvemjAg\ndAMy651vLWGo4Vt6oZKCyGiRTMLuTV0ljMduDNOe7DlhdG/47kwcavgejdRLqoh0cQ8N3x2N3g9/\nGXZtTEkY3b8HLDxpb96poVQxdmZ4rZoJldNUyhiBsqL6yMxOB74F5AE/cPcbuy2/HPhPYH0062Z3\n/0EmYxLJSWbhLuyy8eERqQsu3Ht5y66u9oudb8LONaFdY9nvoa25pw12NX5XzYCq6VHCmB7GC8uG\n5bBk6GUsKZhZHnALcCpQAyw2s/vc/bVuq/7C3a/KVBwikoaiip7v8IZQLbVrI9SuDYli5xqoWwu1\n62DZA70nDTMoGQuHXRwSR0fCqJwe+pTSZbZZKZMlhUXACndfBWBmdwHnAt2Tgohks0QCKqeGYeZx\nb12eTMLuzSFp1K0LiaN2LSz9DTTthKdu7nm7lghDaTUc+/EoaUTJo3ySLrWNSSaTwlRgXcp0DXBM\nD+u9z8zeBSwHPu3u67qvYGZXAlcCzJgxIwOhisigJRJd3Zmn/ouf/a3w6g4NW0PJoi4aatfBK7+E\n5lrYvREeuq6HDVuUNMbDwiv2LmlUTtPjWTMkYw3NZvZ+4DR3/2g0fSmwyN3/IWWd8cBud28xs08A\nF7r7SX1tVw3NIqNQcz3U1eydNF64I5Q0emwIh84qKktA2UQ47u9gzBQYMy28VuwHeQXDfSRZKxsa\nmmuA6SnT04ANqSu4+/aUye8DX81gPCKSrYrHQPF8mDS/a96p/9Y13rYndEjYkTDqamDxD6FxW0ga\nuzbAg1/oYcMpbRsLPhCevjdmSihpjJkaEkciL+OHN5JkMiksBuaZ2WzC1UUXAR9MXcHMJrv7xmjy\nHOD1DMYjIiNVfmHXHdsdTvxc17g7tNRD3Xqo3xASSP16WHJ7SBxNO+Hp/+5l41Fpo2QsHHZRSBaV\nU0OJo3JqKIXkUPtGxpKCu7eZ2VXAHwmXpN7m7kvN7HpgibvfB1xtZucAbcAO4PJMxSMio5hZuKKp\nuHLv0sa7/6Vr3B2a66ISx3qorwkJ5LkfQ+N2aNrRe6N4x3O/571n75JG5dTwWjph1CQO3bwmItLB\nPZQq6mqi5FEDT34zXF3V641+HaLEccBp4WFLY6aGxveKKSGRlE+KtS+qbGhTEBEZWcy6erftuGdj\n0cf2XieZDCWL+pqoxBEljxfvDKWNV+6h18SRVxiGtmYoqw7bHjM1SiJTwmtReUYPsT8qKYiIDDX3\nKHFsCDf+1a+H+o2hQfz1+0P7R0/9UXWwBGDhctyjLutKGpMPC6+DoL6PRESy3Z6GrmTR+boBXrkX\nmneG5JJa6hg3F65+flC7UvWRiEi2KyyDCfuHIdWZ/9k13t4GDVtC0qicmvGQlBRERLJZXn50U97g\nqo0GanRcQyUiIkNCSUFERDopKYiISCclBRER6aSkICIinZQURESkk5KCiIh0UlIQEZFOI66bCzPb\nCqwZ5NsnANuGMJw4jZZjGS3HATqWbDRajgP2/Vhmunt1fyuNuKSwL8xsSTp9f4wEo+VYRstxgI4l\nG42W44DhOxZVH4mISCclBRER6ZRrSeHWuAMYQqPlWEbLcYCOJRuNluOAYTqWnGpTEBGRvuVaSUFE\nRPqgpCAiIp1yJimY2elmtszMVpjZtXHHMxBmttrMXjGzF81sSTRvnJn9yczeiF7Hxh1nT8zsNjPb\nYmavpszrMXYLvh2do5fN7Mj4In+rXo7lOjNbH52bF83szJRln4+OZZmZnRZP1G9lZtPN7FEze93M\nlprZP0bzR9R56eM4RuI5KTazZ83spehY/i2aP9vMnonOyS/MrDCaXxRNr4iWzxqyYNx91A9AHrAS\nmAMUAi8B8+OOawDxrwYmdJt3E3BtNH4t8NW44+wl9ncBRwKv9hc7cCbwe8CAY4Fn4o4/jWO5Drim\nh3XnR39nRcDs6O8vL+5jiGKbDBwZjVcAy6N4R9R56eM4RuI5MaA8Gi8Anok+67uBi6L53wM+GY3/\nHfC9aPwi4BdDFUuulBQWASvcfZW77wHuAs6NOaZ9dS7w42j8x8B5McbSK3d/AtjRbXZvsZ8L/MSD\np4EqM5s8PJH2r5dj6c25wF3u3uLubwIrCH+HsXP3je7+fDS+C3gdmMoIOy99HEdvsvmcuLvvjiYL\nosGBk4B7ovndz0nHuboHONnMbChiyZWkMBVYlzJdQ99/PNnGgQfN7DkzuzKaN8ndN0L45wAmxhbd\nwPUW+0g9T1dF1Sq3pVTjjYhjiaodjiD8Mh2x56XbccAIPCdmlmdmLwJbgD8RSjK17t4WrZIab+ex\nRMvrgPFDEUeuJIWeMuhIuhb3He5+JHAG8Pdm9q64A8qQkXievgvMBQ4HNgJfj+Zn/bGYWTlwL/Ap\nd6/va9Ue5mXNsfRwHCPynLh7u7sfDkwjlGAO7mm16DVjx5IrSaEGmJ4yPQ3YEFMsA+buG6LXLcCv\nCX8wmzuK8NHrlvgiHLDeYh9x58ndN0f/zEng+3RVR2T1sZhZAeGL9Gfu/qto9og7Lz0dx0g9Jx3c\nvRZ4jNCmUGVm+dGi1Hg7jyVaXkn6VZt9ypWksBiYF7XkFxIaZu6LOaa0mFmZmVV0jAPvAV4lxH9Z\ntNplwG/jiXBQeov9PuBvo6tdjgXqOqozslW3uvX3Es4NhGO5KLpKZDYwD3h2uOPrSVT3/EPgdXf/\nRsqiEXVeejuOEXpOqs2sKhovAU4htJE8ClwQrdb9nHScqwuARzxqdd5ncbe6D9dAuIJiOaGe7l/j\njmcAcc8hXDHxErC0I3ZC/eHDwBvR67i4Y+0l/jsJRfhWwq+bj/QWO6FIfEt0jl4BFsYdfxrH8tMo\n1pejf9TJKev/a3Qsy4Az4o4/Ja53EqoaXgZejIYzR9p56eM4RuI5WQC8EMX8KvDFaP4cQuJaAfwS\nKIrmF0fTK6Llc4YqFnVzISIinXKl+khERNKgpCAiIp2UFEREpJOSgoiIdFJSEBGRTkoKIiLSSUlB\nJA1mdni3LpjPsSHqgt3MPmVmpUOxLZF9pfsURNJgZpcTbtq6KgPbXh1te9sA3pPn7u1DHYuISgoy\nqpjZrOihK9+PHlbyYNRtQE/rzjWzP0S9z/7ZzA6K5r/fzF6NHnjyRNQ1yvXAB6KHtnzAzC43s5uj\n9W83s+9GD3xZZWYnRL1zvm5mt6fs77tmtqTbQ1SuBqYAj5rZo9G8iy08VOlVM/tqyvt3m9n1ZvYM\ncJyZ3Whmr0W9gX4tM5+o5Jy4b+/WoGEoB2AW0AYcHk3fDVzSy7oPA/Oi8WMI/cdA6CJhajReFb1e\nDtyc8t7OaeB2wjM6jNDPfT3wNsKPrudSYunoNiKP0OHZgmh6NdFDlAgJYi1QDeQDjwDnRcscuLBj\nW4SuGiw1Tg0a9nVQSUFGozfd/cVo/DlCothL1N3y24FfRn3Y/w/hSV4A/wfcbmYfI3yBp+N/3d0J\nCWWzu7/ioZfOpSn7v9DMnif0cXMI4Ulg3R0NPObuWz30k/8zwhPfANoJPYJCSDzNwA/M7HygMc04\nRfqU3/8qIiNOS8p4O9BT9VGC8ACTw7svcPdPmNkxwFnAi2b2lnX62Gey2/6TQH7UK+c1wNHuvjOq\nViruYTt9PT2r2aN2BHdvM7NFwMmEXn+vIjylS2SfqKQgOcnDw1jeNLP3Q+fD6Q+Lxue6+zPu/kVg\nG6Hf+l2E5wAP1higAagzs0mEByZ1SN32M8AJZjbBzPKAi4HHu28sKulUuvsDwKcID5QR2WcqKUgu\n+xDwXTP7AuGZuHcRuij/TzObR/jV/nA0by1wbVTV9JWB7sjdXzKzFwjVSasIVVQdbgV+b2Yb3f3d\nZvZ5Qj/6Bjzg7j09K6MC+K2ZFUfrfXqgMYn0RJekiohIJ1UfiYhIJ1UfyahnZrcA7+g2+1vu/qM4\n4hHJZqo+EhGRTqo+EhGRTkoKIiLSSUlBREQ6KSmIiEin/w8bWsDrDbhpfwAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x104f52b0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#best max_depth: 5.000000, best min_child_weight: 2.000000, lowest_logloss: 0.590395\n",
    "#更新参数\n",
    "param[\"max_depth\"] = 5\n",
    "param[\"min_child_weight\"] = 2\n",
    "# print(param)\n",
    "# xgb1 = xgb.train(param, dtrain, num_round)\n",
    "#调整若学习器的数目\n",
    "cvresult1 = modelfit(param, dtrain, cv_folds = kfold, early_stopping_rounds=50,num_estimators=1000)\n",
    "num_estimators = cvresult1.shape[0]\n",
    "print(\"best num_estimators: %d, mlogloss_test: %f, mlogloss_train: %f\" % (num_estimators,cvresult1.iloc[cvresult1.shape[0]-1, 0], cvresult1.iloc[cvresult1.shape[0]-1, 2]))\n",
    "n_estimators_figure(cvresult1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 调整后的弱学习器数目定为 302"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 行列重采样参数调整：10分"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "colsample_bytree: 0.200000, subsample: 0.200000, mlogloss_test: 0.595190, mlogloss_train: 0.525954\n",
      "colsample_bytree: 0.200000, subsample: 0.400000, mlogloss_test: 0.592563, mlogloss_train: 0.515112\n",
      "colsample_bytree: 0.200000, subsample: 0.600000, mlogloss_test: 0.590841, mlogloss_train: 0.510583\n",
      "colsample_bytree: 0.200000, subsample: 0.800000, mlogloss_test: 0.589129, mlogloss_train: 0.508582\n",
      "colsample_bytree: 0.200000, subsample: 1.000000, mlogloss_test: 0.587695, mlogloss_train: 0.507523\n",
      "colsample_bytree: 0.400000, subsample: 0.200000, mlogloss_test: 0.594132, mlogloss_train: 0.503382\n",
      "colsample_bytree: 0.400000, subsample: 0.400000, mlogloss_test: 0.588184, mlogloss_train: 0.491344\n",
      "colsample_bytree: 0.400000, subsample: 0.600000, mlogloss_test: 0.585014, mlogloss_train: 0.487293\n",
      "colsample_bytree: 0.400000, subsample: 0.800000, mlogloss_test: 0.584898, mlogloss_train: 0.486503\n",
      "colsample_bytree: 0.400000, subsample: 1.000000, mlogloss_test: 0.585410, mlogloss_train: 0.492370\n",
      "colsample_bytree: 0.600000, subsample: 0.200000, mlogloss_test: 0.592938, mlogloss_train: 0.491567\n",
      "colsample_bytree: 0.600000, subsample: 0.400000, mlogloss_test: 0.587705, mlogloss_train: 0.479492\n",
      "colsample_bytree: 0.600000, subsample: 0.600000, mlogloss_test: 0.585504, mlogloss_train: 0.476388\n",
      "colsample_bytree: 0.600000, subsample: 0.800000, mlogloss_test: 0.584593, mlogloss_train: 0.476941\n",
      "colsample_bytree: 0.600000, subsample: 1.000000, mlogloss_test: 0.584861, mlogloss_train: 0.487877\n",
      "colsample_bytree: 0.800000, subsample: 0.200000, mlogloss_test: 0.594014, mlogloss_train: 0.485128\n",
      "colsample_bytree: 0.800000, subsample: 0.400000, mlogloss_test: 0.588253, mlogloss_train: 0.471468\n",
      "colsample_bytree: 0.800000, subsample: 0.600000, mlogloss_test: 0.585114, mlogloss_train: 0.469700\n",
      "colsample_bytree: 0.800000, subsample: 0.800000, mlogloss_test: 0.584066, mlogloss_train: 0.471556\n",
      "colsample_bytree: 0.800000, subsample: 1.000000, mlogloss_test: 0.584887, mlogloss_train: 0.482917\n",
      "colsample_bytree: 1.000000, subsample: 0.200000, mlogloss_test: 0.594288, mlogloss_train: 0.480665\n",
      "colsample_bytree: 1.000000, subsample: 0.400000, mlogloss_test: 0.588361, mlogloss_train: 0.467160\n",
      "colsample_bytree: 1.000000, subsample: 0.600000, mlogloss_test: 0.585156, mlogloss_train: 0.463972\n",
      "colsample_bytree: 1.000000, subsample: 0.800000, mlogloss_test: 0.582949, mlogloss_train: 0.466638\n",
      "colsample_bytree: 1.000000, subsample: 1.000000, mlogloss_test: 0.585673, mlogloss_train: 0.481898\n",
      "best colsample_bytree: 1.000000, best subsample: 0.800000, lowest_logloss: 0.582949\n"
     ]
    }
   ],
   "source": [
    "#粗调\n",
    "# num_estimators 已更新\n",
    "colsample_bytree = [0.2,0.4,0.6,0.8,1]\n",
    "subsample = [0.2,0.4,0.6,0.8,1]\n",
    "# subsample = [0.1]\n",
    "df_pair5 = param_pair_tune(param1_name = \"colsample_bytree\", param2_name = \"subsample\", param1_range = colsample_bytree, param2_range = subsample,num_estimators = num_estimators)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n4uLC8uXLGTBgQG76602bNrFgwQIuXryYmytp/vz5uLu7c+rUKfT19Vm7dm1u+uuUlBQcHR3p0aNH\n7lm/m5sbUkr69+/PiRMnHst2+qT013nzGeX8LD/99FOOHz9OgwYNWLVqFdWrV3/q/+OzKvdXCFJK\nphybwvhD44lKKtwUTSEENRZ8gZ6tLWFuJjTz/YD61lqc2X6DkCsvx9m2hobg9VaWHJvhxPRXG3Mi\nIJJXl//LF3t8iXmQWtrdU8q4J6W/fvvtrETHI0eO5NSpU49tl5P+euvWrbmpo2NjYxk6dCjNmzdn\n2rRp+Pr65rbPSX9tZmb2WPrrvGmeC5P+etKkSdjZ2dG/f//c9NdPkpP+2tTUNDf9dZcuXbh+/ToR\nERH89ttvz5T+evPmzdjZ2fHKK68QHR39WPprBwcHrly5QkBAwGP7Kkz66/T0dEJCQnB0dMTDw4P2\n7dszY8aMJ76/51XurxCEEExvPR2XQy584PoBG3ptoJJ2wWfJGrq6WK76nsDXXyf0lKSL8WTum/7A\nwV98eWNuGwyNX47aBfo6mnzYrRHD2tZm+eEANp0J5G/3ECZ3a8TI9nXR1VIrnsuygs7ki4tKf122\n0l+bmJhgYGDAoEGDABg6dCjr1q0r1Ht9FuX+CgHA1syWb7t8y7X715h6bCppGYWrp6xtbo7l6tWk\nJ2sT6ZpAL/MfyEzPZP+ay6Snlt1B5vyYG+rxzeAW7J/SGfs61fhqrz+vLjvBXu/wMj82opQ8lf66\nbKW/FkLQr1+/3JTXR44cwcamwETSz6xCBASATpad+KLDF5wLP8e80/PIlIUrdK/fogU1F37Fg7va\npB44RXfbi0QGx/Pvtqsv5QdpkxqGbBrXls3j2mKgo8nEbR68/uMZ3IPul3bXlDIkb/rrli1b8tFH\nH7Fy5Uo2bNiAra0tW7ZseSxPUE766xYtWmBvb/9Q+us5c+bg6OhIRsbznUjlpL+eMGFCvmfGK1eu\n5OLFi9ja2mJjY/PU1NfwX/rrdu3a5Zv+euzYsbltnZ2d8fPzyx1UfpSLiws2NjY4ODjQvHlz3nvv\nPdLT0+nRowdvv/027du3p0WLFgwZMiTfwNK7d2/q169Pw4YNeffdd1m9enXua3Z2drnfL168mPnz\n5+f+/L/99tuCf3DPqMLlMlp3eR0rPFYw0mYkM1vPLHSR+7tLlnBv3XpqtI4hwGktFy5WovObjWnh\n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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1055fd30>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "performance_plot(df_pair5, param1_name = \"colsample_bytree\", param1_range = colsample_bytree, param2_name = \"subsample\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "colsample_bytree: 0.900000, subsample: 0.650000, mlogloss_test: 0.584689, mlogloss_train: 0.465941\n",
      "colsample_bytree: 0.900000, subsample: 0.700000, mlogloss_test: 0.584251, mlogloss_train: 0.466252\n",
      "colsample_bytree: 0.900000, subsample: 0.750000, mlogloss_test: 0.583663, mlogloss_train: 0.467954\n",
      "colsample_bytree: 0.900000, subsample: 0.800000, mlogloss_test: 0.583282, mlogloss_train: 0.468988\n",
      "colsample_bytree: 0.900000, subsample: 0.850000, mlogloss_test: 0.583439, mlogloss_train: 0.470051\n",
      "colsample_bytree: 0.900000, subsample: 0.900000, mlogloss_test: 0.583587, mlogloss_train: 0.473023\n",
      "colsample_bytree: 0.900000, subsample: 0.950000, mlogloss_test: 0.584137, mlogloss_train: 0.476625\n",
      "colsample_bytree: 0.950000, subsample: 0.650000, mlogloss_test: 0.584081, mlogloss_train: 0.464612\n",
      "colsample_bytree: 0.950000, subsample: 0.700000, mlogloss_test: 0.584181, mlogloss_train: 0.464551\n",
      "colsample_bytree: 0.950000, subsample: 0.750000, mlogloss_test: 0.584340, mlogloss_train: 0.467011\n",
      "colsample_bytree: 0.950000, subsample: 0.800000, mlogloss_test: 0.583532, mlogloss_train: 0.467257\n",
      "colsample_bytree: 0.950000, subsample: 0.850000, mlogloss_test: 0.583426, mlogloss_train: 0.470189\n",
      "colsample_bytree: 0.950000, subsample: 0.900000, mlogloss_test: 0.583599, mlogloss_train: 0.472027\n",
      "colsample_bytree: 0.950000, subsample: 0.950000, mlogloss_test: 0.584402, mlogloss_train: 0.475177\n",
      "colsample_bytree: 1.000000, subsample: 0.650000, mlogloss_test: 0.584521, mlogloss_train: 0.464358\n",
      "colsample_bytree: 1.000000, subsample: 0.700000, mlogloss_test: 0.584280, mlogloss_train: 0.464965\n",
      "colsample_bytree: 1.000000, subsample: 0.750000, mlogloss_test: 0.583746, mlogloss_train: 0.465287\n",
      "colsample_bytree: 1.000000, subsample: 0.800000, mlogloss_test: 0.582949, mlogloss_train: 0.466638\n",
      "colsample_bytree: 1.000000, subsample: 0.850000, mlogloss_test: 0.583034, mlogloss_train: 0.468321\n",
      "colsample_bytree: 1.000000, subsample: 0.900000, mlogloss_test: 0.583472, mlogloss_train: 0.470019\n",
      "colsample_bytree: 1.000000, subsample: 0.950000, mlogloss_test: 0.584099, mlogloss_train: 0.474028\n",
      "best colsample_bytree: 1.000000, best subsample: 0.800000, lowest_logloss: 0.582949\n"
     ]
    }
   ],
   "source": [
    "#微调\n",
    "#best colsample_bytree: 1.000000, best subsample: 0.800000, lowest_logloss: 0.582949\n",
    "colsample_bytree = [0.9,0.95,1]\n",
    "subsample = [0.65,0.7,0.75,0.8,0.85,0.9,0.95]\n",
    "df_pair6 = param_pair_tune(param1_name = \"colsample_bytree\", param2_name = \"subsample\", param1_range = colsample_bytree, param2_range = subsample,num_estimators = num_estimators)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nuZySxeAAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10632dd8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "performance_plot(df_pair6, param1_name = \"colsample_bytree\", param1_range = colsample_bytree, param2_name = \"subsample\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 行列重采样参数调整结果为\n",
    "#### best colsample_bytree: 1.000000, best subsample: 0.800000, lowest_logloss: 0.582949"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 对正则参数进行调优：20分"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "alpha: 0.001000, lambda: 0.500000, mlogloss_test: 0.583441, mlogloss_train: 0.465321\n",
      "alpha: 0.001000, lambda: 1.000000, mlogloss_test: 0.583579, mlogloss_train: 0.466766\n",
      "alpha: 0.001000, lambda: 2.000000, mlogloss_test: 0.583034, mlogloss_train: 0.469508\n",
      "alpha: 0.001000, lambda: 4.000000, mlogloss_test: 0.583453, mlogloss_train: 0.473356\n",
      "alpha: 0.010000, lambda: 0.500000, mlogloss_test: 0.583307, mlogloss_train: 0.464745\n",
      "alpha: 0.010000, lambda: 1.000000, mlogloss_test: 0.583332, mlogloss_train: 0.466127\n",
      "alpha: 0.010000, lambda: 2.000000, mlogloss_test: 0.582980, mlogloss_train: 0.469099\n",
      "alpha: 0.010000, lambda: 4.000000, mlogloss_test: 0.583222, mlogloss_train: 0.473325\n",
      "alpha: 0.100000, lambda: 0.500000, mlogloss_test: 0.583544, mlogloss_train: 0.464389\n",
      "alpha: 0.100000, lambda: 1.000000, mlogloss_test: 0.583020, mlogloss_train: 0.465970\n",
      "alpha: 0.100000, lambda: 2.000000, mlogloss_test: 0.583227, mlogloss_train: 0.468298\n",
      "alpha: 0.100000, lambda: 4.000000, mlogloss_test: 0.582793, mlogloss_train: 0.472438\n",
      "alpha: 1.000000, lambda: 0.500000, mlogloss_test: 0.582564, mlogloss_train: 0.462483\n",
      "alpha: 1.000000, lambda: 1.000000, mlogloss_test: 0.582713, mlogloss_train: 0.464645\n",
      "alpha: 1.000000, lambda: 2.000000, mlogloss_test: 0.582815, mlogloss_train: 0.467971\n",
      "alpha: 1.000000, lambda: 4.000000, mlogloss_test: 0.582923, mlogloss_train: 0.472264\n",
      "best alpha: 1.000000, best lambda: 0.500000, lowest_logloss: 0.582564\n"
     ]
    }
   ],
   "source": [
    "#参数更新\n",
    "param[\"colsample_bytree\"] = 1\n",
    "param[\"subsample\"] = 0.8\n",
    "\n",
    "#设定L1正则 alpha及L2正则 lambda的范围\n",
    "L1_alpha = np.logspace(-3, 0, 4)\n",
    "L2_lambda = [0.5,1,2,4]\n",
    "df_pair3 = param_pair_tune(param1_name = \"alpha\", param2_name = \"lambda\", param1_range = L1_alpha, param2_range = L2_lambda,num_estimators = num_estimators)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10f5e2e8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "performance_plot(df_pair3, param1_name = \"alpha\", param1_range = L1_alpha, param2_name = \"lambda\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "alpha: 1.000000, lambda: 0.100000, mlogloss_test: 0.582716, mlogloss_train: 0.460873\n",
      "alpha: 1.000000, lambda: 0.200000, mlogloss_test: 0.583014, mlogloss_train: 0.461269\n",
      "alpha: 1.000000, lambda: 0.500000, mlogloss_test: 0.582564, mlogloss_train: 0.462483\n",
      "best alpha: 1.000000, best lambda: 0.500000, lowest_logloss: 0.582564\n"
     ]
    }
   ],
   "source": [
    "#微调\n",
    "#lamda 减小\n",
    "L1_alpha = [1]\n",
    "L2_lambda = [0.1, 0.2, 0.5]\n",
    "df_pair4 = param_pair_tune(param1_name = \"alpha\", param2_name = \"lambda\", param1_range = L1_alpha, param2_range = L2_lambda,num_estimators = num_estimators)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nlXlCqwAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10704cc0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "performance_plot(df_pair4, param1_name = \"alpha\", param1_range = L1_alpha, param2_name = \"lambda\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### best alpha: 1.000000, best lambda: 0.500000, lowest_logloss: 0.5825"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##  优化学习率"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "learning rate: 0.020000, num_estimators: 1785.000000, test mlogloss: 0.580916\n",
      "learning rate: 0.050000, num_estimators: 719.000000, test mlogloss: 0.581917\n",
      "learning rate: 0.100000, num_estimators: 353.000000, test mlogloss: 0.582209\n"
     ]
    },
    {
     "data": {
      "image/png": "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\nMB5HAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1077d6a0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "param[\"L1_alpha\"] = 1\n",
    "param[\"L2_lambda\"] = 0.5\n",
    "eta = [0.02, 0.05, 0.1]\n",
    "for each_eta in eta:\n",
    "    param[\"eta\"]=each_eta\n",
    "    #num_estimators = 2000\n",
    "    cvresult = modelfit(param, dtrain, cv_folds = kfold, early_stopping_rounds=50,num_estimators=2000)\n",
    "        \n",
    "    # plot\n",
    "    test_means = cvresult['test-mlogloss-mean']\n",
    "    test_stds = cvresult['test-mlogloss-std'] \n",
    "        \n",
    "    train_means = cvresult['train-mlogloss-mean']\n",
    "    train_stds = cvresult['train-mlogloss-std'] \n",
    "\n",
    "    x_axis = range(0, cvresult.shape[0])\n",
    "        \n",
    "    plt.errorbar(x_axis, test_means, yerr=test_stds ,label='learning rate'+str(each_eta))\n",
    "    plt.legend()\n",
    "    print(\"learning rate: %f, num_estimators: %f, test mlogloss: %f\" % (each_eta, cvresult.shape[0], cvresult.iloc[cvresult.shape[0]-1, 0]))\n",
    "#     pyplot.errorbar(x_axis, train_means, yerr=train_stds ,label='Train')\n",
    "plt.title(\"XGBoost n_estimators vs Log Loss\")\n",
    "plt.xlabel( 'n_estimators' )\n",
    "plt.ylabel( 'Log Loss' )\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### learning rate: 0.020000, num_estimators: 1785.000000, test mlogloss: 0.580916"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 调用模型进行测试10分"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "#更新参数\n",
    "param[\"eta\"]=0.02\n",
    "num_estimators = 1785\n",
    "xgb1 = xgb.train(param, dtrain, num_estimators)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(74659,)"
      ]
     },
     "execution_count": 45,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#生成测试预测结果\n",
    "preds = xgb1.predict(dtest)\n",
    "preds.shape"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 生成测试结果文件10分"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {},
   "outputs": [],
   "source": [
    "#从源test文件读取listing_id， 并单独存文件，为了提交作业时不上传源文件\n",
    "# test = pd.read_json(dpath +\"RentListingInquries_test.json\")\n",
    "# test[\"listing_id\"]\n",
    "# test_id = test[\"listing_id\"].reset_index(drop=True)\n",
    "# test_id.to_csv(\"test_list_id.csv\", index=False, header = True)\n",
    "\n",
    "# #读取test_id\n",
    "test_id = pd.read_csv(\"test_list_id.csv\")\n",
    "# \n",
    "\n",
    "# # #合并listing_id & interest_level \n",
    "out_df1 = pd.DataFrame(preds)\n",
    "out_df1.columns = [\"interest_level\"]\n",
    "out_df = pd.concat([test_id,out_df1], axis = 1)\n",
    "\n",
    "# # #替换2，1，0 为low， medium， high\n",
    "y_map = {2:'low',1:'medium',0:'high'}\n",
    "out_df['interest_level'] = out_df['interest_level'].apply(lambda x: y_map[x])\n",
    "\n",
    "# # #生成测试结果文件\n",
    "out_df.to_csv(\"Xgboost_Rent.csv\", index=False)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
